package com.heima.freemarker;
import freemarker.template.Configuration;
import freemarker.template.Template;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.io.FileWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
@SpringBootTest(classes = FreemarkerApp.class)
@RunWith(SpringRunner.class)
public class FreemarkerTest {

    @Autowired
    private Configuration configuration;

    /**
     * 通过模板文件，生成html文件
     */
    @Test
    public void test() throws Exception {
        //通过模板文件，创建模板对象
        Template template = configuration.getTemplate("list.ftl");
        Map<String, Object> dataModel = getData();
        /**
         * 合成
         * 第一个参数：模型数据，就是数据
         * 第二个参数：合成后的输出流
         */
        template.process(dataModel,new FileWriter("e:/list.html"));
    }

    public Map<String,Object> getData(){
        Map<String,Object> map = new HashMap<>();
        map.put("name","freemarker");

        Student stu1 = new Student();
        stu1.setName("张三");
        stu1.setAge(18);
        stu1.setMoney(66.1f);
        Student stu2 = new Student();
        stu2.setName("老外");
        stu2.setAge(44);
        stu2.setMoney(209.1f);
        ArrayList<Student> stus = new ArrayList<>();
        stus.add(stu1);
        stus.add(stu2);

        map.put("stus",stus);
        return map;
    }
}